26 Mai 2012
La lettre de janvier 2010
- [MARCHÉ 1/2] Les 15 progiciels majeurs les plus recherchés en 2009
- [MARCHÉ 2/2] Les 25 progiciels spécifiques les plus recherchés en 2009
- [PROFIL] Ils changent de poste en janvier 2010
- [MEILLEURE PRATIQUE] Les agents de la RATP gèrent leurs propres données géomarketing
- [MEILLEURE PRATIQUE] La DSI de Transgene refond son infrastructure IT
- [MEILLEURE PRATIQUE] Le PGI qui rapproche les 101 PME venues du froid
- [MEILLEURE PRATIQUE] BASF traite ses commandes clients sans papier
- [MEILLEURE PRATIQUE] Un Waf sécurise les applications Web de la mutuelle des militaires
- [MEILLEURE PRATIQUE] Un moteur gère le temps de travail aux Hôtels de Paris
- [AVIS D'EXPERT] Les éditeurs de CRM peinent à se renouveler
- [AVIS D'EXPERT] La Gestion de configuration logicielle au service des applications embarquées
Archives
[AVIS D'EXPERT] La Gestion de configuration logicielle au service des applications embarquées
Dossier - la lettre de janvier 2010
LE DEVELOPPEMENT D’APPLICATIONS EMBARQUEES POSE DES PROBLEMES PLUS COMPLEXES QUE LES APPLICATIONS CLASSIQUES. Le choix d’une solution solide de Gestion de la configuration logicielle peut aider les développeurs à relever les défis auxquels ils doivent faire face : gérer des ensembles étendus et complexes de fichiers, fonctionner dans des environnements de développement distribués, et participer à la gestion de la propriété intellectuelle.
Par Dave Robertson, Vice Président International de Perforce.
Par Dave Robertson, Vice Président International de Perforce.
Pour répondre aux contraintes de leur secteur, les développeurs d’applications embarquées doivent être exigeants quant au choix de leur solution de Gestion de la configuration logicielle (GCL). Au-delà du besoin classique d’une application rapide, simple d’emploi et facile à administrer, une application de Gestion de configuration logicielle utilisée dans le développement d’applications embarquées doit en outre être capable de gérer des ensembles étendus et complexes de fichiers, de fonctionner dans des environnements de développement distribués, et de participer à la gestion de la propriété intellectuelle.Premier défi : gérer des ensembles étendus et complexes de fichiers
Les systèmes embarqués sont composés de nombreux composants, matériel et logiciel. Par exemple, une puce intelligente combine des schémas, du code RTL, des données GDS, des pilotes, du middleware et même un OS et des applications. Chaque système est complexe et peut contenir des variantes d’un même composant. Chacun a lui-même des variantes propres à une région ou à une plateforme de telle sorte qu’un même produit puisse être vendu dans sur des marchés aux besoins différents (par exemple plusieurs versions d’un même téléphone pour les différents marchés mondiaux). Le schéma ci-dessous illustre la complexité de la gestion de ces variantes
Les fichiers auxiliaires, comme les jeux de tests, peuvent changer alors que les composants en cours de test sont eux-mêmes modifiés. Cependant, une construction complète requiert la version correcte de chacun des composants. Le défi est de s’assurer de la corrélation entre chaque composant et ses fichiers auxiliaires.Deuxième défi: fonctionner dans des environnements de développement distribués
Les composants des systèmes embarqués sont souvent développés sur des sites géographiques multiples. Dans certains cas des équipes externalisées travaillent sur le même composant. Dans ces circonstances, le développement collaboratif suppose que chaque développeur ait accès en temps réel au travail de ses collègues. Le défi est de s’assurer que les différentes équipes de développement restent synchrones.
Troisième défi: participer à la gestion de la propriété intellectuelle
Les systèmes embarqués sont souvent intégrés à des technologies tierces. Dans ce cas les développeurs de tierces-parties doivent être en mesure de mettre à jour leurs contributions. Ces mises à jour doivent être répertoriées et il doit être possible de les suivre de telle sorte que les produits restent composés de versions à jours, compatibles et stables.
Le défi est de permettre à chaque éditeur de contrôler et de suivre leurs contributions.
Les bonnes pratiques à adopter pour bien utiliser la GCL dans le développement d’applications embarquées
Un bon système de GCL doit être rapide et efficace, de telle sorte que les développeurs ne soient pas tentés de le contourner. Il doit également être suffisamment souple pour gérer les complexités propres au développement d’applications embarquées.
Voici quelques bonnes pratiques à adopter pour qu’une solution efficace et bien déployée de GCL mette de l’ordre dans un environnement complexe.
Pour assurer la gestion d’ensembles étendus et complexes de fichiers, il faut organiser les fichiers de façon cohérente et effectuer de bonnes architectures
• Les branches logicielles peuvent être utilisées pour isoler le code expérimental du code de production, ou encore pour isoler une version. Il faut choisir avec soin la source à partir de laquelle la branche est créée, par exemple pour incorporer une technologie tierce sur un composant. Avec une bonne solution de Gestion de la configuration logicielle on peut créer des branches et définir les relations entre les branches. Les branchements doivent se faire de telle sorte que la consommation d’espace disque soit réduite, en utilisant la technique du « lazy copying » par exemple. Cette technique permet de ne copier que les différences sans recopier ce qui est équivalent d’une branche à une autre. Ainsi les branches qui contiennent un grand nombre de fichiers peuvent être créées rapidement et sans nuire aux performances ou aux coûts.
• Un système de GCL permet de créer des espaces de travail selon les attributs des fichiers qui les composent : précisions sur la date et l’heure de création, le numéro de version, les étiquettes de contenus ... Le système permet de s’assurer que seuls les fichiers souhaités figurent dans un espace de travail donné, garantissant ainsi la qualité des constructions.• L’utilisation d’une solution multi-plates-formes permet à des équipes d’horizons multiples de travailler ensemble, car il est rare que toutes utilisent la même plateforme. Les utilisateurs doivent pouvoir isoler leur travail en cours sur leur espace de travail personnel, puis ils doivent pouvoir le retourner sur l’espace collectif une fois leur travail achevé. Idéalement, une bonne solution de Gestion de la configuration logicielle doit fonctionner selon les attentes de chaque type d’utilisateurs. Par exemple, les utilisateurs Java doivent retrouver leur environnement de travail habituel. Le développement collaboratif devient très efficace à partir du moment ou tous les membres d’un projet peuvent utiliser le même outil de GCL, quels que soient leurs rôles, leurs outils, leurs méthodes de travail ou leurs plateformes.
Pour participer à la gestion de la propriété intellectuelle
• L’utilisation d’une "politique de familles de fichiers" (ou codeline) permet d’isoler les composants d’un projet de telle sorte que des modifications ne soient pas faites par inadvertance. Cela permet également d’éviter que le code propriétaire ne soit vu par les contributeurs extérieurs à un projet, et de définir les rôles et les droits de chacun quant à la modification des fichiers de chaque codeline. Dans ce contexte un outil de GCL doit autoriser des mécanismes de protection d’une granularité fine, qui permettent le contrôle total des fichiers qu’il gère.
• L’utilisation des branches autorise le développement agile et le prototypage rapide. Un outil de GCL qui permet des branchements peu coûteux et qui fournit des vues configurables permet de supporter toutes les méthodes de développement, dont les méthodes agiles et le modèle V. Un système de branchements peu coûteux permet aux développeurs de réutiliser des portions de code, de travailler dessus et de les réintégrer au reste du projet sans perturber la production.
• Tous les contenus d’un projet doivent être stockés dans la même base, quel que soit leur format (pas forcément du texte). Les fichiers binaires - schémas de puces ou PDFs - sont aussi importants à contrôler que le code source, tout comme les fichiers compilés des contributeurs externes. Une solution de GCL qui autorise le « lazy copying » permet à toutes les variantes de fichiers de co-exister sans affecter l’espace de stockage.
L’AUTEUR : DAVE ROBERTSON
Dave Robertson a 20 ans d’expérience dans le développement de logiciels et dans le marketing d’outils de développement auprès d’éditeurs américains et européens. Il est actuellement responsable du développement des activités de Perforce en Europe, au Moyen-Orient, en Afrique et en Australie.
Cette solution est surtout utilisé dans les secteurs de l’électronique pour aider à accélérer les développements et le prototypage, notamment afin d'améliorer le travail d’équipe autour de la conception des produits. Parmi ses clients on note CSR, Harman Becker, National Instruments, Zoran, Nvidia ou TomTom.
Pour aller plus loin
Les dossiers
Les livres
Gouvernance
Document, connaissances, GEDEmploi informatique
Législation
Licences, open source
Politique informatique
Qualité, certification, référentiels
Solutions
BI, décisionnel, SIGBureautique et infographie
Finances, gestion, trésorerie
Gestion commerciale, CRM
Mobilité
Production, logistique, SCM
Solutions globales, ERP
Solutions RH
Technologies
Archivage et sauvegardeHardware
Localisation, traçabilité
Locaux, sécurité physique
Programmation, développement
Réseaux et communications
Sécurité logique, virus et intrusions
Site Internet
Stockage, SAN, NAS
Systèmes et infrastructure
Editorial
ActualitésAgenda
Annuaire
Blogs
Contributeurs
Dictionnaire
Dossiers
Emploi
Forum
Lettre
Libraire